package com.petshop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.petshop.dto.PetOrder;
import com.petshop.pojo.PetProduct;
import com.petshop.utils.Result;

import java.util.ArrayList;

/**
 * @author 20289
 * @description 针对表【pet_product】的数据库操作Service
 * @createDate 2025-03-04 20:57:21
 */
public interface PetProductService extends IService<PetProduct> {

    /**
     * 增加一个宠物商品信息
     */
    Result insertPetProduct(PetProduct petProduct);

    /**
     * 下架宠物商品
     */
    Result outPetProduct(Integer petProductId);

    /**
     * 修改宠物商品信息
     */
    Result updatePetProduct(PetProduct petProduct);

    /**
     * 查询所有宠物商品
     */
    Result queryPetProduct(String goodName, String goodCategory, Integer pageCount, Integer productPerPage);

    /**
     * 根据宠物商品id查询商品信息
     */
    Result queryPetProductById(Integer goodId);

    /**
     * 仅仅查询第一页商品
     */
    Result queryFirstPetProduct(String goodName, String goodCategory, Integer pageCount, Integer productPerPage);

    /**
     * 批量删除宠物商品
     *
     * @param idList
     * @return
     */
    Result outBatchPetProduct(ArrayList<Integer> idList);

    /**
     * 购买一只宠物
     *
     * @param petOrder
     * @param token
     * @return
     */
    Result buyPetProduct(PetOrder petOrder, String token);
}
